package com.egghiro.framework.j2se.game.core.model.actor;

import java.io.Serializable;

public interface ISprite extends IActor2D,IPainter, Serializable {
    
    public abstract void defineReferencePixel(int rx, int ry);

    /**
     * Gets the horizontal position of this Sprite's reference pixel in the
     * painter's coordinate system.
     * 
     * @return
     */
    public abstract int getRefPixelX();

    /**
     * Gets the vertical position of this Sprite's reference pixel in the
     * painter's coordinate system.
     * 
     * @return
     */
    public abstract int getRefPixelY();

    public abstract void setRefPixelPosition(int x, int y);

    /**
     * Get the referencePixel.x relative to the upper-left corner
     * 
     * @return
     */
    public abstract int getRefX();

    /**
     * Get the referencePixel.y relative to the upper-left corner
     * 
     * @return
     */
    public abstract int getRefY();
    // public abstract void createUI(SGraphics g);
    //
    // public abstract void update(long elapsedTime);
    //
    // public abstract int getLayer();
    //
    // public abstract void setLayer(int layer);
    //
    // public abstract RectBox getCollisionBox();
}
